\documentclass{ctexart}
\usepackage{avanti}
\everymath{\color{Solarized-magenta}}
\pagestyle{empty} % 没有页眉和页脚

\tikzset{font=\Large}

 % define the plot style and the axis style
\tikzset{base/.style={smooth,thick,Solarized-base01,draw=Solarized-base01}}
\tikzset{arrow/.style={->,>=stealth,base}}
\tikzset{curve/.style={base,Solarized-blue}}
\tikzset{nc/.style={base,circle,minimum width=32,fill=Solarized-base2}}
\tikzset{box/.style={base,rectangle,minimum height=25,minimum width=50}}
\tikzset{box2/.style={box,fill=Solarized-base2}}

\begin{document}

\begin{tikzpicture} [scale=0.8]

    \node [box] (f) at (3,0) {$\fv_t$};
    \node [box] (i) at (6,0) {$\iv_t$};
    \node [box] (c') at (9,0) {$\widetilde{\cv}_t$};
    \node [box] (o) at (12,0) {$\ov_t$};

    \node [nc] (s1) at (3,-2) {$\sigma$};
    \node [nc] (s2) at (6,-2) {$\sigma$};
    \node [nc] (t1) at (9,-2) {\normalsize $\tanh$};
    \node [nc] (s3) at (12,-2) {$\sigma$};

    \draw [arrow] (s1) -- (f);
    \draw [arrow] (s2) -- (i);
    \draw [arrow] (t1) -- (c');
    \draw [arrow] (s3) -- (o);

    \node [nc,fill=Solarized-base1] (concatenate) at (1,-3.5) {$+$};

    \draw [arrow] (concatenate) ++(2,0) -- (s1);
    \draw [arrow] (concatenate) ++(5,0) -- (s2);
    \draw [arrow] (concatenate) ++(8,0) -- (t1);
    \draw [arrow] (concatenate) -- ++(11,0) -- (s3);

    \node [box] (atm1) at (-2.5,-3.5) {$\av_{t-1}$};
    \draw [arrow] (atm1) -- (concatenate);

    \node [box] (xt) at (1,-6.5) {$\xv_t$};
    \draw [arrow] (xt) -- (concatenate);

    \node [box] (at) at (15,-3.5) {$\av_t$};
    \draw [arrow] (at) -- ++(3,0);

    \node [nc] (m1) at (7.5,2) {$\times$};
    \draw [arrow] (i) -- (m1);
    \draw [arrow] (c') -- (m1);

    \node [nc] (m2) at (15,0) {$\times$};
    \draw [arrow] (o) -- (m2);
    \draw [arrow] (m2) -- (at) node [midway, draw=none, right=-28pt] {\large $\ov_t \odot \tanh(\cv_t)$};

    \node [nc] (add) at (7.5,4.5) {$+$};
    \draw [arrow] (m1) -- (add);

    \node [nc] (m3) at (3,4.5) {$\times$};
    \draw [arrow] (m3) -- (add);
    \draw [arrow] (f) -- (m3);

    \node [box] (ct) at (15,4.5) {$\cv_t$};
    \draw [arrow] (add) -- (ct) node [midway, draw=none, above=-1pt] {\large $\fv_t \odot \cv_{t-1} + \iv_t \odot \widetilde{\cv}_t$};
    \draw [arrow] (ct) -- ++(3,0);

    \node [nc] (t2) at (15,2.3) {\normalsize $\tanh$};
    \draw [arrow] (ct) -- (t2);
    \draw [arrow] (t2) -- (m2);

    \node [nc] (m3) at (3,4.5) {$\times$};

    \node [box] (ctm1) at (-2.5,4.5) {$\cv_{t-1}$};
    \draw [arrow] (ctm1) -- (m3);

    \draw [dashed,very thick,Solarized-blue] (-0.5,-5) -- (17,-5) -- (17,6) -- (-0.5,6) -- (-0.5,-5);

    \node [nc,label={[inner sep=6pt,Solarized-base01]right:\large 向量元素乘}] at (4,-6.5) {$\times$};

    \node [nc,label={[inner sep=6pt,Solarized-base01]right:\large 向量和}] at (9,-6.5) {$+$};

    \node [nc,fill=Solarized-base1,label={[inner sep=6pt,Solarized-base01]right:\large 向量拼接}] at (13,-6.5) {$+$};

\end{tikzpicture}




\end{document}

